package TestesAutomatizados;

import static org.junit.Assert.assertEquals;

import java.io.IOException;
import java.text.ParseException;
import java.util.List;

import org.junit.Test;

import Controlador.ConfiguraDadosExibidosTabela;
import Controlador.ObterComissoesMedia;
import Controlador.RecuperaItens;
import Excecoes.ExececaoCategoriaVendedorIncorreta;
import Utils.TransformaStringEmInt;

public class TesteObterComissoesMedia {
	private String mesInicialEscolhido;
	private String mesFinalEscolhido;
	private String anoInicialEscolhido;
	private String anoFinalEscolhido;
	private int mesInicial;
	private int mesFinal;
	private int anoInicial;
	private int anoFinal;
	private List<String[]> totaisComissaoVenda;
	
	private void configuraDadosTestados(){
		mesInicialEscolhido = "5";
		mesFinalEscolhido = "6";
		anoInicialEscolhido = "2013";
		anoFinalEscolhido = "2013";
	}
	
	private void transformaDadosEmInt(){
		mesInicial = TransformaStringEmInt.transformaTextoEmInt(mesInicialEscolhido);
		mesFinal = TransformaStringEmInt.transformaTextoEmInt(mesFinalEscolhido);
		anoInicial = TransformaStringEmInt.transformaTextoEmInt(anoInicialEscolhido);
		anoFinal = TransformaStringEmInt.transformaTextoEmInt(anoFinalEscolhido);
	}
	
	private void obterComissoes(){
		ObterComissoesMedia obterComissoesMedia = new ObterComissoesMedia(RecuperaItens.getVendedores());
		obterComissoesMedia.obterComissoes(mesInicial, mesFinal, anoInicial, anoFinal);
		totaisComissaoVenda = ConfiguraDadosExibidosTabela.totaisComissaoVenda;
	}

	@Test
	public void test() throws IOException, ParseException, ExececaoCategoriaVendedorIncorreta {
		configuraDadosTestados();
		RecuperaItens.recuperaItens();
		transformaDadosEmInt();
		obterComissoes();
		for(String[] strs : totaisComissaoVenda){
			assertEquals("JOANA ANGELICA",strs[0]);
			assertEquals("127,14",strs[1]);
			assertEquals("2,54",strs[2]);
			break;
		}
	}

}
